package me.zhengjie.modules.workorder.service.dto;

import lombok.Data;
import me.zhengjie.modules.inspection.domain.TInspectionTask;
import me.zhengjie.modules.workorder.domain.TAccident;
import me.zhengjie.modules.workorder.domain.TTasks;

import java.sql.Timestamp;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import javax.persistence.Column;
import java.io.Serializable;


/**
* @author zcw
* @date 2019-08-13
*/
@Data
public class TWorkOrderDTO implements Serializable {

	private static final long serialVersionUID = 8272257245660469028L;

	private Long id;

    // 工单编号
    private String orderCode;

    // 工单来源
    private Integer orderSource;

    // 来源标识
    private Long sourceId;

    // 工单状态
    private Integer status;

    // 服务等级
    private Integer serviceLevel;

    // 绑定合同
    private Long contractId;

    // 故障类型
    private Integer faultType;

    // 服务商
    private Long supplier;

    // 服务商
    private Long customerId;

    private String customerName;

    private String supplierName;

    // 预约上门时间
    private Timestamp addriveTime;

    // 预计服务时间
    private String serviceTime;

    // 所需工具
    private String requireTool;

    // 备注
    private String notes;

    // 指派人
    private String assignOperator;

    // 指派时间
    private Timestamp assignTime;

    // 接单人
    private String acceptOperator;

    // 接单时间
    private Timestamp acceptTime;
    // 工程师
    private Long engineer;

    private String engineerName;

    private Timestamp finishTime;

    private Timestamp evaluateTime;

    private String evaluater;

    private Integer satisfaction;

    private String actualServiceTime;

    private String content;

    private String suggest;
    
    @JsonIgnoreProperties(value = { "hibernateLazyInitializer"})
    private TAccident taccident;
    
    @JsonIgnoreProperties(value = { "hibernateLazyInitializer"})
    private TTasks task;
    
    @JsonIgnoreProperties(value = { "hibernateLazyInitializer"})
    private TInspectionTask inspection;

    private String major;

    private String level;

    private String filterOption;

    private Long supplierCost;

    private Long customerCost;

    private String country;

    private String province;

    private String city;

    private String county;

    private String taskAddr;
}